package com.quanyan.club.entity.admin;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author Hugo.Wwg
 * @Since 2016-08-23
 */
public class ClubActivityOrderDetail implements Serializable {

    private BaseInfo baseInfo;
    private List<SignUpInfo> signUpInfoList;
    private ActivityInfo activityInfo;
    private PayInfo payInfo;

    public class BaseInfo {
        private String orderNo;
        private Integer orderType; // 0: "AA付款活动" , 1: "固定付款活动"
        private Byte platformType; //-1.未知, 1:IOS 2: ANDROID 3 :WEIXIN 4 :H5 5:后台
        private String mainSignUpName;
        private String mainSignUpMobile;
        private Boolean isClubMember;
        private Date createTime;
        private String signUpNumInfo;

        public String getOrderNo() {
            return orderNo;
        }

        public void setOrderNo(String orderNo) {
            this.orderNo = orderNo;
        }

        public Integer getOrderType() {
            return orderType;
        }

        public void setOrderType(Integer orderType) {
            this.orderType = orderType;
        }

        public Byte getPlatformType() {
            return platformType;
        }

        public void setPlatformType(Byte platformType) {
            this.platformType = platformType;
        }

        public String getMainSignUpName() {
            return mainSignUpName;
        }

        public void setMainSignUpName(String mainSignUpName) {
            this.mainSignUpName = mainSignUpName;
        }

        public String getMainSignUpMobile() {
            return mainSignUpMobile;
        }

        public void setMainSignUpMobile(String mainSignUpMobile) {
            this.mainSignUpMobile = mainSignUpMobile;
        }

        public Boolean getIsClubMember() {
            return isClubMember;
        }

        public void setIsClubMember(Boolean clubMember) {
            isClubMember = clubMember;
        }

        public Date getCreateTime() {
            return createTime;
        }

        public void setCreateTime(Date createTime) {
            this.createTime = createTime;
        }

        public String getSignUpNumInfo() {
            return signUpNumInfo;
        }

        public void setSignUpNumInfo(String signUpNumInfo) {
            this.signUpNumInfo = signUpNumInfo;
        }
    }


    public class SignUpInfo {
        private String name;
        private Integer gender;
        private String mobile;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Integer getGender() {
            return gender;
        }

        public void setGender(Integer gender) {
            this.gender = gender;
        }

        public String getMobile() {
            return mobile;
        }

        public void setMobile(String mobile) {
            this.mobile = mobile;
        }
    }

    public class ActivityInfo {
        private String cityName;
        private String activityName;
        private Integer activityId;
        private String categoryName;
        private String clubName;
        private Date signStartTime;//报名开始时间
        private BigDecimal aaTotal;
        private BigDecimal aaFee;//aa费用
        private BigDecimal maleMemberFee;//会员男费用
        private BigDecimal femaleMemberFee;// 会员女费用
        private BigDecimal maleFee;
        private BigDecimal femaleFee;
        private Integer status;

        public Integer getStatus() {
            return status;
        }

        public void setStatus(Integer status) {
            this.status = status;
        }

        public String getCityName() {
            return cityName;
        }

        public void setCityName(String cityName) {
            this.cityName = cityName;
        }

        public String getActivityName() {
            return activityName;
        }

        public void setActivityName(String activityName) {
            this.activityName = activityName;
        }

        public Integer getActivityId() {
            return activityId;
        }

        public void setActivityId(Integer activityId) {
            this.activityId = activityId;
        }

        public String getCategoryName() {
            return categoryName;
        }

        public void setCategoryName(String categoryName) {
            this.categoryName = categoryName;
        }

        public String getClubName() {
            return clubName;
        }

        public void setClubName(String clubName) {
            this.clubName = clubName;
        }

        public Date getSignStartTime() {
            return signStartTime;
        }

        public void setSignStartTime(Date signStartTime) {
            this.signStartTime = signStartTime;
        }

        public BigDecimal getMaleMemberFee() {
            return maleMemberFee;
        }

        public void setMaleMemberFee(BigDecimal maleMemberFee) {
            this.maleMemberFee = maleMemberFee;
        }

        public BigDecimal getFemaleMemberFee() {
            return femaleMemberFee;
        }

        public void setFemaleMemberFee(BigDecimal femaleMemberFee) {
            this.femaleMemberFee = femaleMemberFee;
        }

        public BigDecimal getMaleFee() {
            return maleFee;
        }

        public void setMaleFee(BigDecimal maleFee) {
            this.maleFee = maleFee;
        }

        public BigDecimal getFemaleFee() {
            return femaleFee;
        }

        public void setFemaleFee(BigDecimal femaleFee) {
            this.femaleFee = femaleFee;
        }

        public BigDecimal getAaTotal() {
            return aaTotal;
        }

        public void setAaTotal(BigDecimal aaTotal) {
            this.aaTotal = aaTotal;
        }

        public BigDecimal getAaFee() {
            return aaFee;
        }

        public void setAaFee(BigDecimal aaFee) {
            this.aaFee = aaFee;
        }
    }

    public class PayInfo {
        private Integer orderType;  //订单类型: 0 AA收费，1 会员制
        private Integer orderTradingStatus;//交易状态: 1 退款，2 支付
        private BigDecimal orderAmount; //订单总额
        private BigDecimal balanceAmount;
        private BigDecimal exchangeRmb;
        private BigDecimal payAmount;
        private Byte payType;
        private Date payTime;
        private Integer orderStatus;//0超时未支付 1待支付 2支付成功 3支付失败 4退款中 5退款完成 6:AA退款完成 7已评价 8已取消
        private Integer showOrderStatus;
        private Integer orderUid;//订单人ID

        private BigDecimal refundOrderAmount;
        private BigDecimal refundBalanceAmount;
        private BigDecimal refundExchangeRmb;
        private BigDecimal refundPayAmount;
        private String refundWay;
        private Date refundTime;

        private BigDecimal onlineClubBalanceAmountIncome;
        private BigDecimal onlineClubExchangeRmbIncome;
        private BigDecimal onlineClubPayAmountIncome;
        private BigDecimal onlineClubTotalAmountIncome;

        public Integer getShowOrderStatus() {
            return showOrderStatus;
        }

        public void setShowOrderStatus(Integer showOrderStatus) {
            this.showOrderStatus = showOrderStatus;
        }

        public Integer getOrderUid() {
            return orderUid;
        }

        public void setOrderUid(Integer orderUid) {
            this.orderUid = orderUid;
        }

        public Integer getOrderStatus() {
            return orderStatus;
        }

        public void setOrderStatus(Integer orderStatus) {
            this.orderStatus = orderStatus;
        }

        public Integer getOrderType() {
            return orderType;
        }

        public void setOrderType(Integer orderType) {
            this.orderType = orderType;
        }

        public Integer getOrderTradingStatus() {
            return orderTradingStatus;
        }

        public void setOrderTradingStatus(Integer orderTradingStatus) {
            this.orderTradingStatus = orderTradingStatus;
        }

        public BigDecimal getOrderAmount() {
            return orderAmount;
        }

        public void setOrderAmount(BigDecimal orderAmount) {
            this.orderAmount = orderAmount;
        }

        public BigDecimal getBalanceAmount() {
            return balanceAmount;
        }

        public void setBalanceAmount(BigDecimal balanceAmount) {
            this.balanceAmount = balanceAmount;
        }

        public BigDecimal getExchangeRmb() {
            return exchangeRmb;
        }

        public void setExchangeRmb(BigDecimal exchangeRmb) {
            this.exchangeRmb = exchangeRmb;
        }

        public BigDecimal getPayAmount() {
            return payAmount;
        }

        public void setPayAmount(BigDecimal payAmount) {
            this.payAmount = payAmount;
        }

        public Byte getPayType() {
            return payType;
        }

        public void setPayType(Byte payType) {
            this.payType = payType;
        }

        public Date getPayTime() {
            return payTime;
        }

        public void setPayTime(Date payTime) {
            this.payTime = payTime;
        }

        public BigDecimal getRefundOrderAmount() {
            return refundOrderAmount;
        }

        public void setRefundOrderAmount(BigDecimal refundOrderAmount) {
            this.refundOrderAmount = refundOrderAmount;
        }

        public BigDecimal getRefundBalanceAmount() {
            return refundBalanceAmount;
        }

        public void setRefundBalanceAmount(BigDecimal refundBalanceAmount) {
            this.refundBalanceAmount = refundBalanceAmount;
        }

        public BigDecimal getRefundExchangeRmb() {
            return refundExchangeRmb;
        }

        public void setRefundExchangeRmb(BigDecimal refundExchangeRmb) {
            this.refundExchangeRmb = refundExchangeRmb;
        }

        public BigDecimal getRefundPayAmount() {
            return refundPayAmount;
        }

        public void setRefundPayAmount(BigDecimal refundPayAmount) {
            this.refundPayAmount = refundPayAmount;
        }

        public String getRefundWay() {
            return refundWay;
        }

        public void setRefundWay(String refundWay) {
            this.refundWay = refundWay;
        }

        public Date getRefundTime() {
            return refundTime;
        }

        public void setRefundTime(Date refundTime) {
            this.refundTime = refundTime;
        }

        public BigDecimal getOnlineClubBalanceAmountIncome() {
            return onlineClubBalanceAmountIncome;
        }

        public void setOnlineClubBalanceAmountIncome(BigDecimal onlineClubBalanceAmountIncome) {
            this.onlineClubBalanceAmountIncome = onlineClubBalanceAmountIncome;
        }

        public BigDecimal getOnlineClubExchangeRmbIncome() {
            return onlineClubExchangeRmbIncome;
        }

        public void setOnlineClubExchangeRmbIncome(BigDecimal onlineClubExchangeRmbIncome) {
            this.onlineClubExchangeRmbIncome = onlineClubExchangeRmbIncome;
        }

        public BigDecimal getOnlineClubPayAmountIncome() {
            return onlineClubPayAmountIncome;
        }

        public void setOnlineClubPayAmountIncome(BigDecimal onlineClubPayAmountIncome) {
            this.onlineClubPayAmountIncome = onlineClubPayAmountIncome;
        }

        public BigDecimal getOnlineClubTotalAmountIncome() {
            return onlineClubTotalAmountIncome;
        }

        public void setOnlineClubTotalAmountIncome(BigDecimal onlineClubTotalAmountIncome) {
            this.onlineClubTotalAmountIncome = onlineClubTotalAmountIncome;
        }
    }

    public BaseInfo getBaseInfo() {
        return baseInfo;
    }

    public void setBaseInfo(BaseInfo baseInfo) {
        this.baseInfo = baseInfo;
    }

    public List<SignUpInfo> getSignUpInfoList() {
        return signUpInfoList;
    }

    public void setSignUpInfoList(List<SignUpInfo> signUpInfoList) {
        this.signUpInfoList = signUpInfoList;
    }

    public ActivityInfo getActivityInfo() {
        return activityInfo;
    }

    public void setActivityInfo(ActivityInfo activityInfo) {
        this.activityInfo = activityInfo;
    }

    public PayInfo getPayInfo() {
        return payInfo;
    }

    public void setPayInfo(PayInfo payInfo) {
        this.payInfo = payInfo;
    }
}
